When a data file is distributed from a server, that server may become overloaded when a large number of users seek the file. The load from a large number of users may be distributed among multiple computers using peer-to-peer (P2P) networking technologies. Although P2P technologies spread the load of distributing a file across multiple hosts, they may not reduce the total amount of network bandwidth needed to distribute a file because each user still may receive its own dedicated transmission of the file from the hosts. There is a need for data distribution methods that are more scalable and efficient.